file chooser: Make Escape close the dialog
authorMatthias Clasen <mclasen@redhat.com>
Sat, 30 Jan 2016 00:12:51 +0000 (19:12 -0500)
committerMatthias Clasen <mclasen@redhat.com>
Sat, 30 Jan 2016 00:12:51 +0000 (19:12 -0500)
In some situations (no header bar, save mode), hitting Escape
would not do anything because the entry ate the key event.
Fix this by telling the entry to only handle Escape when there
is something to do, such as switching back to the path bar.

https://bugzilla.gnome.org/show_bug.cgi?id=761026

gtk/gtkfilechooserwidget.c

index 606cc248e367099bee24df6f626dc5121ba71f05..127e18b47488ae4c8975a039ed7b0b4931d19cc7 100644 (file)
@@ -2609,7 +2609,12 @@ location_entry_create (GtkFileChooserWidget *impl)
 
   if (!priv->location_entry)
     {
-      priv->location_entry = _gtk_file_chooser_entry_new (TRUE, TRUE);
+      gboolean eat_escape;
+
+      eat_escape = priv->action == GTK_FILE_CHOOSER_ACTION_OPEN ||
+                   priv->action == GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER;
+
+      priv->location_entry = _gtk_file_chooser_entry_new (TRUE, eat_escape);
       location_entry_setup (impl);
     }
 }